/**
 * 
 */
package by.imotaeva.printing_services.datamodel;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;

/**
 * @author Inna
 *
 */
@Entity
public class PrintingProductOrder {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;

	@Column
	private String title;

	@Column
	@Enumerated(EnumType.ORDINAL)
	private ProductType productType;

	@ManyToOne(fetch = FetchType.LAZY, targetEntity = Customer.class)
	private Customer customer;

	@Column
	private Integer circulation;

	@Column
	private String format;

	@Column
	@Enumerated(EnumType.ORDINAL)
	private PrintingMachine printingMachine;

	@Column
	private byte[] original;

	@Column
	private Date date;

	@Column
	private BigDecimal price;

	@Column
	private Long productionOrderNumber;

	@Column
	@Enumerated(EnumType.ORDINAL)
	private OrderStatus productionOrderStatus;

	@Column
	private Date productionOrderDate;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public ProductType getProductType() {
		return productType;
	}

	public void setProductType(ProductType productType) {
		this.productType = productType;
	}

	public Customer getCustomer() {
		return customer;
	}

	public void setCustomer(Customer customerId) {
		this.customer = customerId;
	}

	public Integer getCirculation() {
		return circulation;
	}

	public void setCirculation(Integer circulation) {
		this.circulation = circulation;
	}

	public String getFormat() {
		return format;
	}

	public void setFormat(String format) {
		this.format = format;
	}

	public PrintingMachine getPrintingMachine() {
		return printingMachine;
	}

	public void setPrintingMachine(PrintingMachine printingMachine) {
		this.printingMachine = printingMachine;
	}

	public byte[] getOriginal() {
		return original;
	}

	public void setOriginal(byte[] original) {
		this.original = original;
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public Long getProductionOrderNumber() {
		return productionOrderNumber;
	}

	public void setProductionOrderNumber(Long productionOrderNumber) {
		this.productionOrderNumber = productionOrderNumber;
	}

	public OrderStatus getProductionOrderStatus() {
		return productionOrderStatus;
	}

	public void setProductionOrderStatus(OrderStatus productionOrderStatus) {
		this.productionOrderStatus = productionOrderStatus;
	}

	public Date getProductionOrderDate() {
		return productionOrderDate;
	}

	public void setProductionOrderDate(Date productionOrderDate) {
		this.productionOrderDate = productionOrderDate;
	}

}
